我有一个包含以下信息的pom文件:4.0.0com.site.cameraproj3pom2.6Proj3我正在编写一个bash脚本,希望能够打开此文件(pom.xml)并删除版本(例如,在本例中为2.6)。我这样做是因为在更新版本时,我希望脚本的其余部分也随之更新。我尝试过的事情:var=$(grep2.6pom.xml)echo$var请注意,我在pom文件中有多个版本参数。我需要这个被这个名称、包装、artifactId等包围的特定版本。 最佳答案 一些人objecttoparsingXMLwithregex.以下是如何使用x
我正在尝试使用bash编辑配置文件。我的文件如下所示:我想再添加一对block到文件。由于所有property标签包含在configuration中标记文件看起来像这样:我遇到了thispostandfollowedtheacceptedanswer,但是我的文件没有附加任何内容,我尝试附加的xmlblock被“回显”为单行字符串。我的bash文件如下所示:file=/path/to/file/oozie-site.xmlcontent="\n\n\n\n\n\n\n"echo$contentC=$(echo$content|sed's/\//\\\//g')sed"//s/.*/${
我有一个以下格式的XML文件我需要一个BASHSHELL脚本来将这个主xml文件拆分成多个小的XML文件,这些文件应该包含中的内容。至标签。文件名可以是父文件名加上运行序列号,例如_1表示ex:20110721_1.xml等。请帮我编写脚本。 最佳答案 不是纯粹的答案,但你可以自己调整:csplit-ksfpart.src.xml/\/"{100}"2>/dev/null这个命令会拆分src.xml使用正则表达式/\/作为分隔符并产生1..100part.*文件。你需要玩正则表达式......
12需要从bash更改值1和2 最佳答案 要将tag的值更改为2并将tag1的值更改为3,使用XMLStarlet:xmlstarleted\-u'/root/tag'-v2\-u'/root/tag1'-v3\new.xml使用您的示例输入:xmlstarleted\-u'/root/tag'-v2\-u'/root/tag1'-v3\12'...作为输出发出:23 关于xml-如何使用bash脚本编辑XML?,我们在StackOverflow上找到一个类似的问题:
如何验证XML文件在sh(最好)或bash中是否有效?我有一个文件经常损坏,需要在我花时间调查根本问题时更换。有没有使用sh或bash执行此任务的简单方法? 最佳答案 不直接与bash一起使用,但是xmllint相当广泛可用。xmllint--format"${xmlfile}"如果XML文件无效,这将以非零状态退出(提示:bash中的$?为您提供最后一个命令的退出代码)。 关于xml-如何验证xml文件在sh或bash中是否有效?,我们在StackOverflow上找到一个类似的问题:
我想编辑一个XML程序的配置文件:.../home/username/...从bash脚本执行此操作的最简单方法是什么?谢谢 最佳答案 使用xmlstarlet:xmlstarletval-efile.xmlxmlstarleted-u"//settings/setting/@name"-v'localdirectory2'file.xmlxmlstarleted-u"//settings[1]/setting/@name"-v'localdirectory2'file.xml#editfileinplacexmlstarleted
我有一个要使用bash脚本配置的xml文件。例如,如果我有这个xml:BlaSomethingbla(secret信息已删除)我想编写一个bash脚本来删除部分(或评论它)但保持xml的其余部分不变。我对整个脚本编写都很陌生。我想知道是否有人可以提示我应该研究什么。我在想可以使用sedexceptsed是行编辑器。我认为删除很容易标签,但是我不确定sed是否能够删除之间的所有文本标签。我还需要编写一个脚本来添加回删除的部分。 最佳答案 这在sed中并不难,因为sed也适用于范围。试试这个(假设xml在名为foo.xml的文件中):s
这个问题在这里已经有了答案:ExtractionofdatafromasimpleXMLfile(10个答案)关闭7年前。我正在尝试从已作为变量读入我的脚本的xml文档中提取一个值。原始变量$data是:15:54:57-George:DianeDeConn?YousawDianeDeConn!15:55:17-Jerry:Somethinghuh?我想提取第一个标题值,所以15:54:57-George:我一直在使用sed命令:title=$(sed-n-e's/.*\(.*\).*/\1/p'但这只输出第二个标题值:15:55:17-Jerry:有谁知道我做错了什么?谢谢!
理想情况下,我希望能够做的是:catxhtmlfile.xhtml|getElementViaXPath--path='/html/head/title'|sed-e's%(^|$)%%g'>titleOfXHTMLPage.txt 最佳答案 这实际上只是对Yuzem's的解释回答,但我不觉得应该对其他人进行这么多编辑,而且评论不允许格式化,所以...rdom(){localIFS=\>;read-d\让我们称其为“read_dom”而不是“rdom”,将它隔开一点并使用更长的变量:read_dom(){localIFS=\>rea
我有一个Python脚本,我正尝试从Windows或某些在线Python解释器运行它。我想让我的friend测试一下,但他没有linux。这里的冲突是我在脚本中有诸如“importos”之类的模块,这些模块仅适用于bash环境。那么我怎样才能让我的friend在Windows中运行我的.py脚本呢?谢谢! 最佳答案 关于python的最酷的事情是你的friend应该能够运行你的脚本而几乎没有变化(希望如此),引用pythonosdocsThismoduleprovidesaportablewayofusingoperatingsys